/*
 * @Description:卡车
 * 
 * @Author: rendc
 * 
 * @Date: 2025-03-06 09:22:47
 * 
 * @LastEditors: rendc
 * 
 * @LastEditTime: 2025-03-06 10:17:18
 */
// 继承车辆类
public class Truck extends Automobile {
  // 继承车辆类的非private成员
  // 子类自己扩展的属性
  // 类型 大 中 小 考虑扩展
  private String type;

  // 子类字节扩展的方法
  // get、set
  public void setType(String type) {
    this.type = type;
  }

  public String getType() {
    return type;
  }

  // 构造器
  // 无参构造器
  public Truck() {

  }

  // 全参构造器
  public Truck(String brand, String plateNumber, String type) {
    super(brand, plateNumber);// 借用父类构造器
    this.type = type;
  }

  // 子类自己计算租金的方法 - 重写父类方法
  @Override
  public double getRent(int days) {
    double rent = 0.0;
    switch (type) {
      case "小型":
        rent = 300 * days;
        break;
      case "中型":
        rent = 350 * days;
        break;
      case "大型":
        rent = 500 * days;
        break;

      default:
        rent = 999999999.99;
        break;
    }
    return rent;
  }

  // show
  public void show() {
    System.out.println("车辆的品牌是：" + getBrand() + "，车辆的车牌号是：" + getPlateNumber() + "，车辆类型是：" + type);
  }

  @Override
  public String toString() {
    return "Trunk[车辆的品牌是：" + getBrand() + "，车辆的车牌号是：" + getPlateNumber() + "，车辆类型是：" + type + "]";
  }
}